The present invention relates to a data processing system for transferring data between a central processing unit ("CPU") operating at a high speed and input/output units operating at a low speed and, more particularly, to a system for processing one data item for each sampling period input/output operations.
When an analog signal (such as a radar signal) returns from the surface of the sea to be digitally processed, the Nyquist sampling frequency is equal to twice the highest frequency of the analog signal which is sampled. The sampled signal is first subjected to fast Fourier transform or a fast Walsh transform to be transformed into a frequency-domain signal. Then, it is inversely transformed, if necessary. Alternatively, the sampled signal is subjected to nearly instantaneous companding or adaptive predictive coding to reduce the number of bits to be transmitted by using its correlated values for a short period of the sampled signal. In this case, while data must be inputted or outputted, one by one, at every sampling time, the processing must be applied on a data block basis, i.e., to data blocks, each including several data items.
For details of the above-mentioned nearly instantaneous companding and adaptive predicitive coding, reference is made to an article entitled "Nearly Instantaneous Companding for Non-uniformly Quantized PCM" published in IEEE TRANSACTIONS ON COMMUNICATIONS, Vol. Com-24, No. 8, August 1976, pages 864 to 873 and another article entitled "Adaptive Predictive Coding of Speech Signals" published in THE BELL SYSTEM TECHNICAL JOURNAL, October 1970, pages 1973 to 1986.
For the above-mentioned fast Fourier transform, assume first that: an N-point data series {Xi.vertline.i=0, 1, . . . , N-1} is expressed by a column vector X ; a diagonal matrix with diagonal elements of weighting coefficients {Wi.vertline.i=0, 1 . . . , N-1} corresponding to the impulse response of a filter, by diag {Wi}; a transform matrix for an N-point inverse fast Fourier transform by F.sup.-1 ; and an N-point output data series {Xi'.vertline.i=0, 1, . . . , N-1}, by a column vector X ', respectively. Then, the following relation is established: EQU X '= F.sup.-1 .multidot.diag {Wi}.multidot. F.multidot.X (1)
As seen from equation (1), to calculate the column matrix X ', all the values of X (i.e., N-point data series Xi) must be prepared.
The apparatus for controlling the one-data-for-each-data-block input/output operations may incorporate the program channel unit described on pages 2 to 5 of the "Model 70 User's Manual" issued by INTERDATA INC., USA, 1971. The input/output data control is carried out by using an interruption and an interruption processing program. The manual also describes (pages 2 to 4) a direct memory access channel unit in which a memory is directly connected to input/output buffers in the input/output units in order to transfer a block of data at a high speed.
However, if such units are used for the block of data processing, there are the following disadvantages:
A. When the program channel unit is used, the one-data-for-each-sampling-period processing is achieved by outputting the data processed during the preceding sampling period and by inputting the succeeding data for processing at the central processing unit during the next sampling period, even if the central processing unit is operating. For this reason, the program channel unit notifies the central processing unit of an interruption. Then, the central processing unit halts the program currently being executed. Thus, there are two time-sections; one for the equation (1) execution and the other for the program control to execute input-output instructions. However, the input/output operations of data are frequently performed. As a result, the program control time is relatively longer than the time required to execute equation (1). This time differential adversely affects the efficiency of the central processing unit operation.
B. When the direct memory access channel unit is used, there is less deterioration of efficiency because it has a high-speed data transfer capability. Additionally, with respect to the input/output data, a block of data used to perform the function of equation (1) may be transferred at one time. In this respect, the direct memory access channel unit is more effective than the program channel unit. However, data must be inputted and outputted one by one for each sampling time. Therefore, the input/output units need a large-capacity buffer memory and a control system for controlling the data according to the data input/output operations, thereby requiring a great amount of hardware.